package com.lowcodeai.auth.service;

import com.lowcodeai.auth.dto.LoginRequest;
import com.lowcodeai.auth.dto.LoginResponse;
import com.lowcodeai.common.result.Result;

/**
 * 认证服务接口
 * 
 * @author LowCodeAI
 * @since 1.0.0
 */
public interface AuthService {

    /**
     * 用户登录
     */
    Result<LoginResponse> login(LoginRequest request);

    /**
     * 用户登出
     */
    Result<Void> logout(String token);

    /**
     * 刷新Token
     */
    Result<LoginResponse> refreshToken(String refreshToken);

    /**
     * 获取当前用户信息
     */
    Result<LoginResponse.UserInfo> getCurrentUser(String token);

    /**
     * 验证Token
     */
    boolean validateToken(String token);
} 